/**
 * (1) Void
 *
 * Contextual typing with a return type of void does not force functions to not return something.
 * Another way to say this is a contextual function type with a void return type (type vf = () => void),
 * when implemented, can return any other value, but it will be ignored.
 *
 * void
 */





/**
 * (2) Never
 *
 * 不能赋值给出自己以外的其他类型，也不能接受除自己以外的任何类型的赋值
 *
 * never
 */





/**
 * (3) Null
 *
 * With 【strictNullChecks】 off, values that might be null can still be accessed normally,
 * and the values null can be assigned to a property of reference type. we always recommend
 * turn strictNullChecks on if it’s practical to do so in their codebase
 *
 * null (typeof null = 'object'， 运行时类型 Null)
 */





/**
 * (4) Undefined
 *
 * With 【strictNullChecks】 off, values that might be undefined can still be accessed normally,
 * and the values undefined can be assigned to a property of reference type. we always recommend
 * turn strictNullChecks on if it’s practical to do so in their codebase
 *
 * undefined (typeof undefined = 'undefined', 运行时类型 Undefined)
 */





/**
 * (5) Unknown
 *
 * 类似 any，但相较 any 更安全
 *
 * unknown
 */





/**
 * (6) Any
 *
 * 可以赋值给任何类型，也可以接受任何类型的赋值
 *
 * any - [noImplicitAny]
 */










